package com.universalInterface.lims_interface.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.universalInterface.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 试验信息表
 * </p>
 *
 * @author author
 * @since 2023-12-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("test_info")
@Schema(name = "TestInfo", description = "试验信息表")
public class TestInfo extends BaseEntity implements Serializable {

	private static final long serialVersionUID = -9039565987268876185L;

	@Schema(name = "testGuid", description = "自动生成试验的GUID")
	@TableField(value = "test_guid")
	private Long testGuid;

	@Schema(name = "labGuid", description = "实验室唯一标识号")
	@TableField(value = "lab_guid")
	private Long labGuid;

	@Schema(name = "testNo", description = "试验编号")
	@TableField(value = "test_no")
	private String testNo;

	@Schema(name = "testOrderNo", description = "委托单编号")
	@TableField(value = "test_order_no")
	private String testOrderNo;

	@Schema(name = "projectNo", description = "项目编号")
	@TableField(value = "project_no")
	private String projectNo;

	@Schema(name = "machineType", description = "样机型号")
	@TableField(value = "machine_type")
	private String machineType;

	@Schema(name = "sampleName", description = "样机名称")
	@TableField(value = "sample_name")
	private String sampleName;

	@Schema(name = "inspectionBatchNo", description = "样机编号")
	@TableField(value = "inspection_batch_no")
	private String inspectionBatchNo;

	@Schema(name = "nSampleNo", description = "内机编号")
	@TableField(value = "n_sample_no")
	private String nSampleNo;

	@Schema(name = "wSampleNo", description = "外机编号")
	@TableField(value = "w_sample_no")
	private String wSampleNo;

	@Schema(name = "inspector", description = "测试人")
	@TableField(value = "inspector")
	private String inspector;

	@Schema(name = "experimentName", description = "实验名称")
	@TableField(value = "experiment_name")
	private String experimentName;

	@Schema(name = "idInletDb", description = "室内干球")
	@TableField(value = "id_inlet_db")
	private String idInletDb;

	@Schema(name = "idInletWb", description = "室内湿球")
	@TableField(value = "id_inlet_wb")
	private String idInletWb;

	@Schema(name = "odInletDb", description = "室外干球")
	@TableField(value = "od_inlet_db")
	private String odInletDb;

	@Schema(name = "odInletWb", description = "室外湿球")
	@TableField(value = "od_inlet_wb")
	private String odInletWb;

	@Schema(name = "staticP", description = "静压")
	@TableField(value = "static_p")
	private String staticP;

	@Schema(name = "capacity", description = "额定能力值")
	@TableField(value = "capacity")
	private String capacity;

	@Schema(name = "power", description = "额定功率值")
	@TableField(value = "power")
	private String power;

	@Schema(name = "energyEfficiency", description = "额定能效值")
	@TableField(value = "energy_efficiency")
	private String energyEfficiency;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@Schema(name = "startTime", description = "开始测试时间")
	@TableField(value = "start_time")
	private LocalDateTime startTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@Schema(name = "endTime", description = "试验结束时间")
	@TableField(value = "end_time")
	private LocalDateTime endTime;

	@Schema(name = "electricity", description = "电量")
	@TableField(value = "electricity")
	private String electricity;

	@Schema(name = "testCurveTable", description = "试验历史原始数据曲线参数表名")
	@TableField(value = "test_curve_table")
	private String testCurveTable;

	@Schema(name = "testChannel", description = "试验历史原始数据通道表名")
	@TableField(value = "test_channel")
	private String testChannel;

	@Schema(name = "testData", description = "试验历史原始数据数据表名")
	@TableField(value = "test_data")
	private String testData;

	@Schema(name = "shows", description = "是否显示出来，1位显示，0位不显示")
	@TableField(value = "shows")
	private Integer shows;

}
